Gopher Proxy
gopherpedia.com:70 gopherpedia.com:70/0//ESP8266
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
======================================================================
= ESP8266 =
======================================================================
Introduction
======================================================================
The ESP8266 is a low-cost Wi-Fi microchip, with built-in TCP/IP
networking software, and microcontroller capability, produced by
Espressif Systems in Shanghai, China.
The chip was popularized in the English-speaking maker community in
August 2014 via the ESP-01 module, made by a third-party manufacturer
Ai-Thinker. This small module allows microcontrollers to connect to a
Wi-Fi network and make simple TCP/IP connections using Hayes-style
commands. However, at first, there was almost no English-language
documentation on the chip and the commands it accepted. The very low
price and the fact that there were very few external components on the
module, which suggested that it could eventually be very inexpensive
in volume, attracted many hackers to explore the module, the chip, and
the software on it, as well as to translate the Chinese documentation.
The ESP8285 is a similar chip with a built-in 1 MiB flash memory,
allowing the design of single-chip devices capable of connecting via
Wi-Fi.
These microcontroller chips have been succeeded by the ESP32 family of
devices.
Features
======================================================================
* Processor: L106 32-bit RISC microprocessor core based on the
Tensilica Diamond Standard 106Micro running at 80 or 160 MHz
* Memory of 160 Kbytes of RAM which are segmented into:
** 32 KB instruction RAM (iRAM)
** 32 KB instruction cache RAM
** 96 KB of dRAM which are segmented into 80 KB dRAM for SDK and heap
memory, and 16 KB for ROM
* External QSPI flash: up to 16 MiB is supported (512 KiB to 4 MiB
typically included)
* IEEE 802.11 b/g/n Wi-Fi
** Integrated TR switch, balun, LNA, power amplifier and matching
network
** WEP or WPA/WPA2 authentication, or open networks
* 17 GPIO pins
* Serial Peripheral Interface Bus (SPI)
* I²C (software implementation)
* I²S interfaces with DMA (sharing pins with GPIO)
* UART on dedicated pins, plus a transmit-only UART can be enabled on
GPIO2
* 10-bit ADC (successive approximation ADC)
Pinout of ESP-01
======================================================================
The pinout is as follows for the common ESP-01 module:
# GND, Ground (0 V)
# GPIO 2, General-purpose input/output No. 2
# GPIO 0, General-purpose input/output No. 0
# RX, Receive data in, also GPIO3
# VCC, Voltage (+3.3 V; can handle up to 3.6 V)
# RST, Reset
# CH_PD, Chip power-down
# TX, Transmit data out, also GPIO1
SDKs
======================================================================
In October 2014, Espressif Systems released a software development kit
(SDK) for programming the chip directly, which removed the need for a
separate microcontroller. Since then, there have been many official
SDK releases from Espressif; Espressif maintains two versions of the
SDK -- one that is based on FreeRTOS and the other based on callbacks.
An alternative to Espressif's official SDK is the open-source
ESP-Open-SDK that is based on the GNU Compiler Collection (GCC)
toolchain, maintained by Max Filippov. Another alternative is the
"Unofficial Development Kit" by Mikhail Grigorev.
Other SDKs, mostly open-source, include:
* Arduino -- A C++-based firmware. With this core, the ESP8266 CPU and
its Wi-Fi components can be programmed like any other Arduino device.
[https://github.com/esp8266/Arduino The ESP8266 Arduino Core is
available through GitHub].
* [http://www.esp8266basic.com/ ESP8266 BASIC] -- An open-source
BASIC-like interpreter specifically tailored for the Internet of
Things (IoT). Self-hosting browser-based development environment.
* ESP Easy -- Developed by home automation enthusiasts.
* [https://esphome.io/index.html ESPHome] -- ESPHome is a system to
control your ESP8266/ESP32 by simple yet powerful configuration files
and control them remotely through home automation systems.
* [https://github.com/arendst/Sonoff-Tasmota Tasmota] - open-source
firmware, for home automation.
* [https://github.com/SuperHouse/esp-open-rtos ESP-Open-RTOS] --
Open-source FreeRTOS-based ESP8266 software framework.
* [https://github.com/pfalcon/esp-open-sdk ESP-Open-SDK] -- Free and
open (as much as possible) integrated SDK for ESP8266/ESP8285 chips.
* Espruino -- An actively maintained JavaScript SDK and firmware,
closely emulating Node.js. Supports a few MCUs, including the ESP8266.
* [https://github.com/xoseperez/espurna/wiki ESPurna] -- Open-source
ESP8285/ESP8266 firmware.
* [https://github.com/niclash/forthright Forthright] -- Port of Jones
Forth to the ESP8266 microcontroller.
* [https://micropython.org/ MicroPython] -- A port of MicroPython (an
implementation of Python for embedded devices) to the ESP8266
platform.
* [https://github.com/Moddable-OpenSource/moddable#supported-hardware
Moddable SDK] -- includes JavaScript language and library support for
the ESP8266
* Mongoose OS -- An open-source operating system for connected
products. Supports ESP8266 and ESP32. Develop in C or JavaScript.
* NodeMCU -- A Lua-based firmware.
* [https://platformio.org/platforms/espressif8266 PlatformIO] -- A
cross-platform IDE and unified debugger, which sits on top of Arduino
code and libraries.
* [https://github.com/zeroflag/punyforth Punyforth] -- Forth-inspired
programming language for the ESP8266.
* [https://github.com/SmingHub/Sming Sming] -- An actively developed
asynchronous C/C++ framework with superb performance and multiple
network features.
* [http://www.ulisp.com/show?21T5 uLisp] -- A version of the Lisp
programming language specifically designed to run on processors with a
limited amount of RAM.
* [http://www.zbasic.net ZBasic for ESP8266] -- A subset of
Microsoft's widely-used Visual Basic 6, which has been adapted as a
control language for the ZX microcontroller family and the ESP8266.
* Zerynth -- IoT framework for programming ESP8266 and other
microcontrollers in Python.
* IOTBAH - is An operating system (OS) for Espressif ESP8266
* [https://www.esp8266.org EspOS] Webserver, easy IoT solution.
Espressif modules
======================================================================
This is the series of ESP8266-based modules made by Espressif:
!Name !Active pins !Pitch !Form factor !LEDs !Antenna !Shielded
!Dimensions (mm) !Notes
|18 |1.5 mm |2×9 castellated |PCB trace |18 × 20 |FCC ID
2AC7Z-ESPWROOM02.
|18 |1.5 mm |2×9 castellated |PCB trace |18 × 20 |FCC ID
2AC7Z-ESPWROOM02D. Revision of ESP-WROOM-02 compatible with both
150-mil and 208-mil flash memory chips.
|18 |1.5 mm |2×9 castellated |U.FL socket |18 × 20 Differs from
ESP-WROOM-02D in that includes an U.FL compatible antenna socket
connector.
|20 |1.5 mm |2×10 castellated |PCB trace |16 × 23 |FCC ID
2AC7Z-ESPWROOMS2.
In the table above (and the two tables which follow), "Active pins"
include the GPIO and ADC pins with which external devices can be
attached to the ESP8266 MCU. The "Pitch" is the space between pins on
the ESP8266 module, which is important to know if the device will be
used on a breadboard. The "Form factor" also describes the module
packaging as "2 × 9 DIL", meaning two rows of 9 pins arranged "Dual In
Line", like the pins of DIP ICs. Many ESP-xx modules include a small
onboard LED which can be programmed to blink and thereby indicate
activity. There are several antenna options for ESP-xx boards
including a trace antenna, an onboard ceramic antenna, and an external
connector that allows an external Wi-Fi antenna to be attached. Since
Wi-Fi communications generate a lot of RFI (Radio Frequency
Interference), governmental bodies like the FCC like shielded
electronics to minimize interference with other devices. Some of the
ESP-xx modules come housed within a metal box with an FCC seal of
approval stamped on it. First and second world markets will likely
demand FCC approval and shielded Wi-Fi devices.
Ai-Thinker modules
======================================================================
This is the first series of modules made with the ESP8266 by the
third-party manufacturer 'Ai-Thinker' and remains the most widely
available. They are collectively referred to as "ESP-xx modules". To
form a workable development system, they require additional
components, especially a serial TTL-to-USB adapter (sometimes called a
USB-to-UART bridge) and an external 3.3 volt power supply. Novice
ESP8266 developers are encouraged to consider larger ESP8266 Wi-Fi
development boards like the NodeMCU which includes the USB-to-UART
bridge and a Micro-USB connector coupled with a 3.3 volt power
regulator already built into the board. When project development is
complete, those components are not needed and these cheaper ESP-xx
modules are a lower power, smaller footprint option for production
runs.
In the Notes column, Flash memory sizes apply to the given module and
all those below it in the table. Exceptions which apply to a single
module are shown in ().
Name !! Active pins !! Pitch !! Form factor !! LEDs !! Antenna !!
Shielded !! Dimensions (mm) !! Notes
ESP-01 6 0.1 in 2×4 DIL PCB trace 14.3 × 24.8 512
KiB Flash and blue PCB from a generic manufacturer. 1 MiB Flash,
AI-Cloud and black PCB from AI-Thinker.
ESP-01S 6 0.1 in 2×4 DIL PCB trace 14.4 × 24.7 1
MiB Flash
16 1.6 mm 2×9 edge connector PCB trace 18.0 × 18.0
Uses ESP8285 (1 MiB built-in flash).
ESP-02 6 0.1 in 2×4 castellated U.FL socket 14.2 ×
14.2
ESP-03 10 2 mm 2×7 castellated Ceramic 17.3 × 12.1
ESP-04 10 2 mm 2×4 castellated None 14.7 × 12.1
ESP-05 3 0.1 in 1×5 SIL U.FL socket 14.2 × 14.2
ESP-06 11 various 4×3 dice None 14.2 × 14.7 Not FCC
approved.
ESP-07 14 2 mm 2×8 pinhole Ceramic + U.FL socket 20.0
× 16.0 Not FCC approved.
ESP-07S 14 2 mm 2×8 pinhole U.FL socket 17.0 × 16.0
FCC and CE approved.
ESP-08 10 2 mm 2×7 castellated None 17.0 × 16.0 Not
FCC approved.
ESP-09 10 various 4×3 dice None 10.0 × 10.0
ESP-10 3 2 mm 1×5 castellated None 14.2 × 10.0
ESP-11 6 1.27 mm 1×8 pinhole Ceramic 17.3 × 12.1
ESP-12 14 2 mm 2×8 castellated PCB trace 24.0 × 16.0
FCC and CE approved.
ESP-12E 20 2 mm 2×8 castellated PCB trace 24.0 × 16.0
4 MiB flash.
ESP-12F 20 2 mm 2×8 castellated PCB trace 24.0 × 16.0
FCC and CE approved. Improved antenna performance.
ESP-12S 14 2 mm 2×8 castellated PCB trace 24.0 × 16.0
FCC approved.
ESP-13 16 1.5 mm 2×9 castellated PCB trace W18.0 ×
L20.0 Marked as "FCC". Shielded module is placed sideways, as
compared to the ESP-12 modules.
ESP-14 22 2 mm 2×8 castellated +6 PCB trace 24.3 ×
16.2 Mostly advertised with "AI Cloud Inside".
Other boards
======================================================================
The reason for the popularity of many of these boards over the earlier
ESP-xx modules is the inclusion of an on-board USB-to-UART bridge
(like the Silicon Labs' CP2102 or the WCH CH340G) and a Micro-USB
connector, coupled with a 3.3-volt regulator to provide both power to
the board and connectivity to the host (software development) computer
- commonly referred to as the console, making it an easy development
platform. With earlier ESP-xx modules, these two items (the
USB-to-serial adapter and the regulator) had to be purchased
separately and be wired into the ESP-xx circuit. Modern ESP8266 boards
like the NodeMCU are easier to work with and offer more GPIO pins.
Most of the boards listed here are based on the ESP-12E module, but
new modules are being introduced seemingly every few months.
Name !! Active pins !! Pitch !! Form factor !! LEDs !! Antenna !!
Shielded !! Dimensions (mm) !! Notes
|Bolt IoT 14 0.1 in 2×14 DIL PCB trace 30 × 40 Comes
with an onboard SD card and features like Lib-Discovery and Fail Safe
Mode. Has its own cloud for IoT.
Olimex MOD-WIFI-ESP8266 2 0.1 in UEXT module PCB trace
Only RX/TX are connected to UEXT connector.
Olimex MOD-WIFI-ESP8266-DEV 20 0.1 in 2×11 DIL + castellated
PCB trace 33 × 23 All available GPIO pins are connected, also
has pads for soldering UEXT connector (with RX/TX and SDA/SCL
signals).
NodeMCU DEVKIT 14 0.1 in 2×15 DIL PCB trace 49 × 24.5
Uses the ESP-12 module; includes USB to serial interface.
Adafruit Huzzah ESP8266 breakout 14 0.1 in 2×10 DIL PCB
trace 25 × 38 Uses the ESP-12 module.
SparkFun ESP8266 Thing WRL-13231 12 0.1 in 2×10 DIL PCB
trace + U.FL socket 58 × 26 FTDI serial header, Micro-USB
socket for power, includes Li-ion battery charger.
KNEWRON Technologies smartWIFI 12 0.1 in 2×20 DIL 1 RGB PCB
trace Yes 25.4 × 50.8 CP2102 USB bridge, includes battery
charger, micro-USB socket for power and battery charging, 1 RGB LED
and USER / Reflash button.
ArduCAM ESP8266 UNO 12+ 0.1 in Arduino Uno PCB trace
53.4 × 68.6 Uses the AI Thinker's ESP8266MOD module and features
Micro-USB port, Battery pins, Camera pins and uSD card all on the same
board. Fully compatible with Arduino Uno shields.
DoIT ESPduino 12 0.1 in Arduino Uno PCB trace 53.4 ×
68.6 Uses the ESP-WROOM-02 (ESP-13) module and USB Type B port.
Fully compatible with Arduino Uno shields.
|WeatherPlus - SwitchDoc Labs 26+Grove 0.1 in Custom PCB
trace 86.0 × 50.0 Uses the AI Thinker Model ESP8266MOD (ESP-13)
module and FTDI for Programming and Mini-USB port for power. Fully
compatible with Adafruit Huzzah software. Includes BMP280 Barometer,
ADS1115 and Grove I2C connectors. Plugs for Anemometer/Wind
Vane/Rain Bucket.
WeMos D1 12 0.1 in Arduino Uno PCB trace 53.4 × 68.6
Uses the ESP-12F module and Micro-USB socket. Discontinued in favor of
WeMos D1 R2.
WeMos D1 R2 12 0.1 in Arduino Uno PCB trace 53.4 × 68.6
Uses ESP-12F module and has Micro-USB socket.
WeMos D1 mini 12 0.1 in 2×8 DIL PCB trace 25.6 × 34.2
Uses ESP-12S module and has Micro-USB socket.
WeMos D1 mini Lite 12 0.1 in 2×8 DIL PCB trace 25.6 ×
34.2 Based on the ESP8285, an ESP8266 with 1 MiB flash built-in; has
Micro-USB socket.
WeMos D1 mini Pro 12 0.1 in 2×8 DIL Ceramic and U.FL socket
25.6 × 34.2 Uses ESP8266EX chip; has Micro-USB socket, U.FL antenna
connector, and 16 MiB flash.
|ESPert ESPresso Lite 16 0.1 in 2×8 DIL PCB trace 26.5
× 57.6 Uses the ESP-WROOM-02 module. Produced in limited quantity as
beta version.
|ESPert ESPresso Lite V2.0 24 0.1 in 2×10 DIL PCB trace
28 × 61 Improved version of ESPresso Lite.
|In-Circuit ESP-ADC 18 0.1 in 2×9 DIL U.FL socket 22.9
× 14.9 Uses ESP8266EX chip.
Watterott ESP-WROOM02-Breakout 14 0.1 in 2×10 DIL PCB trace
40.64 × 27.94 Uses the Espressif ESP-WROOM-02 module.
Geek Wave Solution IOT WROOM-02 Dev. Board 20 0.1 in Yes PCB
trace Yes 93.80 × 80.02 Development board with Espressif
ESP-WROOM-02 module and four relays.
Witty 2-piece board 20 0.1 in Yes PCB trace Yes ?
Development board with Espressif ESP8266 ESP-12E and separate board
for CH340G USB interface.
ESP32-C3
======================================================================
In 2020, Espressif announced a new chip, ESP32-C3, which is
pin-compatible with ESP8266. It is based on a single core RISC-V
32-bit CPU with a clock speed of up to 160 MHz. It includes 400 KiB of
SRAM and 384 KiB ROM storage space built in.
See also
======================================================================
* ESP32 - the successor product from Espressif
* Internet of things
* MCU (microcontroller unit)
External links
======================================================================
* [https://github.com/esp8266/Arduino ESP8266 core for Arduino IDE]
License
=========
All content on Gopherpedia comes from Wikipedia, and is licensed under CC-BY-SA
License URL: http://creativecommons.org/licenses/by-sa/3.0/
Original Article: http://en.wikipedia.org/wiki/ESP8266
.
you're on gopherpedia.com^70/0//ESP8266
back link is gopherpedia.com:70